// import { RuleObject } from 'ant-design-vue/lib/form/interface';
import { BasicColumn } from '/@/components/Table';
import { useI18n } from '/@/hooks/web/useI18n';
import { FormSchema } from '/@/components/Table';
import moment from 'moment';
import { formatToDateTime } from '/@/utils/dateUtil';
const { t } = useI18n();

export const columns: BasicColumn[] = [
  // {
  //   title: 'id',
  //   dataIndex: 'id',
  //   // slots: {
  //   //   customRender: 'account',
  //   // },
  //   // width: 120,
  // },
  // {
  //   title: 'account',
  //   dataIndex: 'account',
  //   // width: 120,
  // },
  {
    title: '标题',
    dataIndex: 'name',
    slots: {
      customRender: 'name',
    },
    // width: 120,
  },

  {
    title: '巡护员',
    dataIndex: 'account_name',
    // width: 120,
  },

  {
    title: '巡护时间',
    dataIndex: 'date',
    // width: 120,
  },
  // {
  //   title: 'longitude',
  //   dataIndex: 'longitude',
  //   // width: 120,
  // },
  // {
  //   title: 'latitude',
  //   dataIndex: 'latitude',
  //   // width: 120,
  // },
  {
    title: '巡护图片',
    dataIndex: 'images',
    helpMessage: ['点击可预览多张图片'],
    width: 140,
    slots: { customRender: 'img' },
  },
  {
    title: '巡护类型',
    dataIndex: 'type',
    // width: 120,
  },
  {
    title: '状态',
    dataIndex: 'status',
    slots: {
      customRender: 'status',
    },
    // width: 120,
  },
  {
    title: '描述',
    dataIndex: 'descr',

    // width: 120,
  },
  {
    title: '发生时间',
    dataIndex: 'happen_time',
    format: (text: any) => {
      return formatToDateTime(new Date(text * 1000));
    },
    // width: 120,
  },
  {
    title: '发生位置',
    dataIndex: 'happen_addr',
    // width: 120,
  },
  {
    title: '上报时间',
    dataIndex: 'creat_time',
    format: (text: any) => {
      return formatToDateTime(new Date(text * 1000));
    },
    // width: 120,
  },
];

export const searchFormSchema: FormSchema[] = [
  {
    field: 'datetime',
    label: '时间',
    component: 'RangePicker',
    defaultValue: [moment().add(-6, 'day'), new Date()],

    colProps: { span: 7 },
  },
  {
    field: 'param_search',
    label: '关键字',
    component: 'Input',
    colProps: { span: 6 },
  },
  {
    field: 'status',
    label: '状态',
    component: 'Select',
    componentProps: {
      options: [
        {
          label: '已处理',
          value: 2,
        },
        {
          label: '未处理',
          value: '1',
        },
      ],
    },
    colProps: { span: 5 },
  },

  // {
  //   field: 'userlevel',
  //   label: '类型',
  //   component: 'Select',
  //   componentProps: {
  //     options: [
  //       {
  //         label: t('routes.users.admin_personal'),
  //         value: '2',
  //       },
  //       {
  //         label: t('routes.users.admin_personal'),
  //         value: '1',
  //       },
  //     ],
  //   },
  //   colProps: { span: 8 },
  // },
];

// let validatePass2 =  ({ values }) => {
//   return [
//     {
//       required: true,
//       validator: (_, value) => {
//         if (!value) {
//           return Promise.reject('不能为空');
//         }
//         if (value !== values.userpwd) {
//           return Promise.reject('两次输入的密码不一致!');
//         }
//         return Promise.resolve();
//       },
//     },
//   ];
// };

export const accountFormSchema: FormSchema[] = [
  {
    field: 'id',
    label: '',
    component: 'InputNumber',
    show: false,
  },
  {
    field: 'pid',
    label: '',
    component: 'InputNumber',
    show: false,
  },
  {
    field: 'account',
    label: '账号',
    component: 'Input',
    required: true,
  },

  // {
  //   field: 'type',
  //   label: '用户类型',
  //   component: 'Select',
  //   required: true,
  //   componentProps: {
  //     options: [
  //       {
  //         label: '普通用户',
  //         value: 1,
  //       },
  //       {
  //         label: '管理员',
  //         value: 2,
  //       },
  //     ],
  //   },
  // },
  {
    field: 'name',
    label: '昵称',
    component: 'Input',
    show: true,
    required: true,
  },
  {
    field: 'password',
    label: '密码',
    component: 'InputPassword',
    show: false,
    required: true,
  },
  {
    field: 'phone',
    label: '手机号',
    rules: [
      { required: true },
      {
        pattern: /^[1]([3-9])[0-9]{9}$/,
        message: '请输入正确的手机号',
      },
    ],
    component: 'Input',
  },
  {
    field: 'email',
    label: '邮箱',
    component: 'Input',
    rules: [
      {
        pattern: /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/,
        message: '请输入正确的邮箱格式',
      },
    ],
  },
  {
    field: 'desc',
    label: '描述',
    component: 'InputTextArea',
  },
];
